/**
 * 
 * Opened Touchable RIA Framework - A Web RIA Javascript Framework
 * 
 * Copyright (c) 2012
 * Dual licensed under the MIT or GPL v2 licenses.
 * 
 * @author  CuTe_CuBe
 * @version $Id: vml.js 5 2012-03-09 10:44:54Z CC.HGFeng@gmail.com $
 */

(function(){

var f = OTR.Chart.Flow;

/**
 * OTR.Chart.Flow.Step
 * 流程节点
 * 
 * @class OTR.Chart.Flow.Step
 * @constructor
 * @param object params
 * 参数列表
 * id: 节点在图中的唯一标识
 * type: 类型，OTR.Chart.Flow.TYPE(node, branche)
 * text: 文字
 * wayTrue: 为真时指向（仅分支节点）
 * wayFalse: 为假是指向（仅分支节点）
 */
f.Node = function(params) {
    this._attrs = {
        type: OTR.Chart.Flow.TYPE.NODE,
        text: '',
        wayTrue: null,
        wayFalse: null
    };
    
    OTR.apply(this._attrs, params);
};

f.Node.prototype = {
    /**
     * 为节点分配ID
     * 
     * @param string id
     */
    setId: function(id) {
        this._attrs.id = id;
    },
    
    /**
     * 获取唯一ID
     * 
     * @return string
     */
    getId: function() {
        return this._attrs.id;
    },
    
    /**
     * 获取节点文字描述
     * 
     * @return string text
     */
    getText: function() {
        return this._attrs.text;
    },
    
    /**
     * 获取节点文字描述
     * 
     * @param string text
     */
    setText: function(text) {
        if (typeof text == 'string') {
            this._attrs.text = text;
        }
    },
    
    /**
     * 获取节点类型
     * 
     * @return string text
     */
    getType: function() {
        return this._attrs.type;
    },
    
    /**
     * 设置节点类型
     * 
     * @return string text
     */
    setType: function(type) {
        this._attrs.type = type;
    },
    
    
    /**
     * 获取为真时分支节点指向
     * 
     * @return string text
     */
    getWayTrue: function() {
        return this._attrs.wayTrue;
    },
    
    /**
     * 设置为真时分支节点指向
     * 
     * @return string text
     */
    setWayTrue: function(wayTrue) {
        this._attrs.wayTrue = wayTrue;
    },
    
    /**
     * 获取为假时分支节点指向
     * 
     * @return string
     */
    getWayFalse: function() {
        return this._attrs.wayFalse;
    },
    
    /**
     * 设置为假时分支节点指向
     * 
     * @return string
     */
    setWayFalse: function(wayFalse) {
        this._attrs.wayFalse = wayFalse;
    }
};

})();